var $checkDuplicateTable = $('#checkDuplicate');
var $messageTipTable = $('#messageTipTable');
var unreadNum;
$(function () {
    $('#callCenterBtn').on('click', function () {
        $('#callCustomerId').val('');
    });
    /*$('.modal').on('show.bs.modal', function () {
        $('body').addClass('filter-blur');
    }).on('hide.bs.modal', function () {
        $('body').removeClass('filter-blur');
    });*/
    $('#numberBox a').on('click', function () {
        var numberInput = $('#txtTelNO').val();
        var numberText = $(this).html();
        $('#txtTelNO').val(numberInput + numberText);
    });
    $('#numberBox').on('show.bs.collapse', function () {
        $(document).on('click', function (e) {
            var target = $(e.target);
            if (!target.is('#numberBox *')) {
                $('#numberBox').collapse('hide');
            }
        })
    })
    $('#callCenter').on('hidden.bs.modal', function () {
        // 关闭弹窗时，根据跟进来源刷新相关页面table
        // 跟进来源：0-线索跟进；1-客户跟进；2-单品客户跟进; 3-联系人跟进; 4-核实电话
        switch (followSource) {
            case 0:
                break;
            case 1:
                break;
            case 2:
                break;
            case 3:
                break;
            case 4:
                var iframeDom = $(window.parent.document).find('iframe[src="/front/verifyPhone/verifyPhoneList"]')[0];
                iframeDom && iframeDom.contentWindow.refreshTable("verifyPhoneList");
                break;
        }

        // 关闭弹窗时清除相关客户信息
        $('#telBox').slideUp(0).find('.tel-list').html('');
        $('#followInfoId').val('');
        // $('#editFollowInfo').hide(0);
        $('#callCustomerId').val('');
        $('#txtTelNO').val('').prop('readonly', false);
        $('#followInfoSource').val('');
        followSource = '';

        // 隐藏加零按钮
        $('#otherBtn').hide();
        $('#otherCheckbox').off('click').prop('checked', false);
        $('#numberBtn').show();

        // $('#editFollowInfo').hide();
        $('.follow-info-form').animate({
            width: 0,
            marginRight: 0,
        }, 200).fadeOut(0);
        $('.follow-info-form textarea').val('');
        followFlag = true;
    });

    $(document).on('click', 'input[name="phoneNumber"]', function () {
        console.log($(this).val());
        var telNumArr = $(this).val().split('-');
        var telNum;
        if (telNumArr[0].length < 5 && telNumArr.length > 1) {
            telNum = telNumArr[0] + telNumArr[1];
        } else {
            telNum = telNumArr[0];
        }
        $('#txtTelNO').val(telNum);
        $('#otherBtn input').prop('checked', false);
    });
    $('#poolType').selectpicker();
    $('#poolType1').selectpicker();
    // checkDuplicateInit()

    //判断是否是超管，超管隐藏消息提示
    isSuperAdmin();

    // 定时获取消息数量
    setInterval(function () {
        queryUnreadCount();
        $('#unreadCount').html(unreadNum);
    }, 30000);

    // 获取版本号
    // getVersionInfo();

    // 呼叫中心-跟进详情弹窗
    $('.call-info-btn, .follow-info-form .btn-link').on('click', function () {
        followInfoModal();
    });

    // 呼叫弹窗最大化
    $('.tagsinput').on('itemAdded', function(event) {
        // 添加标签
        var tagStr = $(this).val();
        var inputId = $(this)[0].id;
        if (inputId == 'maxContactTags') {
            callEditContactTags(tagStr);
        }
        if (inputId == 'maxCompanyTags') {
            callEditCustomerTags($('#callCustomerId').val(), tagStr)
        }
    }).on('itemRemoved', function(event) {
        // 删除标签
        var tagStr = $(this).val();
        var inputId = $(this)[0].id;
        if (inputId == 'maxContactTags') {
            callEditContactTags(tagStr);
        }
        if (inputId == 'maxCompanyTags') {
            callEditCustomerTags($('#callCustomerId').val(), tagStr)
        }
    })
    /**
     * 功能：限定标签长度为5个字符
     * */
    $('.tagsinput').on('beforeItemAdd', function(event) {
        // 判断标签长度
        if (event.item.length > 5) {
            $.alert({
                title: '系统提醒',
                content: '标签最多5个字符，请重新输入'
            })
            event.cancel = true;
        }
    })
    if($('[data-toggle="tooltip"]')[0]) {
        $('[data-toggle="tooltip"]').tooltip({
            "container" : 'body',
        });
    }

    $('#followIntention').on('change', function () {
        if ($(this).prop('checked')) {
            $('.follow-intention').html('有意向');
        } else {
            $('.follow-intention').html('无意向');
        }
    });

    $('#callTags').on('show.bs.collapse', function () {
        callTagsList();
    });
    $('#callTags').on('click', 'li', function () {
        $('#maxContactTags').tagsinput('add', $(this).text());
        $('#maxContactTags').on('itemAdded', function(event) {
            // 添加标签
            var tagStr = $(this).val();
            console.log(tagStr);
            callEditContactTags(tagStr);
        })
    });
    $(document).on('click', function (e) {
        var target = $(e.target);
        if(!target.is('#callTags') && !target.is('#callTags *')) {
            $('#callTags').collapse('hide');
        }
    });
    $('.btn-clear-text').on('click', function () {
        $('#followInfoText2').val('');
    })

    // 关闭消息页面时重置左侧消息菜单href链接
    $('.mt-nav-bar').on('click', '.mt-nav-tab[data-url="/front/messageManager/messageFormUser?type=messageTip"] + .mt-close-tab', function () {
        var url = '/front/messageManager/messageFormUser';
        // 修改左侧消息菜单链接
        $('.multitabs[href="' + url + '?type=messageTip"]').prop('href', url);
    });
    
    // 节日弹窗
    var thisTime = moment().format('YYYY-MM-DD');
    var dayDiff = moment(thisTime).diff(moment('2022-01-01'),'days');
    if(dayDiff < 7 && !window.localStorage.getItem('festival')){
        $('#festivalModal').modal('show');
        window.localStorage.setItem('festival','true');
    }
});

function narrow() {
    $('#callCenter').removeClass('call-max');
    $('#callMax').hide(0, function () {
        $('.text-label').html('');
        $('#followInfoText2').val('');
    });
    $('#callMin').show();

    var btnGroup = $('#maxCallBtn ul').clone(true);
    $('#maxCallBtn').html('');
    $('#minCallBtn').html(btnGroup)
}
function enlarge() {
    var nowNum = $('#txtTelNO').val();
    if (!nowNum) {
        $.alert({
            title: '系统提醒',
            content: '请选择联系人'
        })
        return;
    }
    var contactIdN = $('#callContactId').val();
    var customerIdN = $('#callCustomerId').val();

    $('#callCenter').addClass('call-max');
    $('#callMax').show();
    $('#callMin').hide();

    var btnGroup = $('#minCallBtn ul').clone(true);
    console.log(btnGroup)
    $('#minCallBtn').html('');
    $('#maxCallBtn').html(btnGroup)

    callOtherTable(customerIdN, contactIdN);
    callContactInfo(contactIdN);
    callContactTags();
    callFollow(contactIdN);
    callCompanyInfo(customerIdN);
    callBasicInfo(customerIdN);
    // 相关产品
    // callProductList(customerIdN);

}

// 联系人信息
function callContactInfo(contactId) {
    $.ajax({
        url: '/contact/selectContactDetailById',
        type: 'post',
        datatype: 'json',
        data: {
            contactId
        },
        success: function (data) {
            if (data.code == '000000') {
                console.log('联系人信息：', data.data)
                var datas = data.data;
                if (!datas) {
                    return;
                }
                $('#avatar img').prop('src', datas.accessUrl || '/images/users/avatar-3.png');
                $('#callContactName').html(datas.contactName || '');
                $('#callCompany').html(datas.customerName || '暂无公司信息');
                $('#callPost').html(datas.contactPosition || '暂无职位信息');
                $('#callContactPhone').html($('#txtTelNO').val());
                $('#maxContactTags').tagsinput('add', datas.tag || '');
                $('#callCustomerName').text(datas.customerName);
                // $('#companyProfile').prepend('<strong>' + datas.customerName + '</strong>');
                // 意向回显
                var followIntentionFlag = datas.currentIntention;
                if (followIntentionFlag == '0') {
                    $('#followIntention').prop('checked', true);
                } else {
                    $('#followIntention').prop('checked', false);
                }
            }
        }
    })
}
// 联系人已有标签
function callContactTags() {
    $.ajax({
        url: '/contact/contactTagList',
        type: 'post',
        datatype: 'json',
        success: function (data) {
            if (data.code == '000000') {
                var tagsData = data.data;
                var tagsDom = '';
                for (let i = 0; i < tagsData.length; i++) {
                    tagsDom += '<span>' + tagsData[i].tag + '</span>';
                }
                // console.log('联系人已有标签：' + tagsDom);
            }
        }
    })
}
// 修改标签
function callEditContactTags(tags) {
    $.ajax({
        url: '/contact/updateContact',
        type: 'POST',
        dataType: "json",
        data: {
            contactId: $('#callContactId').val(),
            name: tags,
            bs: 3
        },
        success: (function (data) {
            if (data.code == "000000") {
                console.log('添加标签成功');
            } else {
                console.log('添加标签失败');
            }
        }),
        error: (function () {
            alert("失败");
        })
    })
}
// 默认标签列表
function callTagsList() {
    $.ajax({
        url: '/contact/contactTagList',
        type: 'post',
        datatype: 'json',
        data: {
            pageIndex: 1,
            pageSize: 10,
            sortName: '',
            sortOrder: 'desc',
        },
        success: function (data) {
            if (data.code == '000000') {
                var datas = data.data;
                var listDom = '';
                for (let i = 0; i < datas.length; i++) {
                    listDom += '<li>' + datas[i].tag + '</li>';
                }
                $('#recommendTags').html(listDom);
            }
        }
    })
}
// 客户意向
function callIntention() {
    var contactId = $('#callContactId').val();
    var status = $('#followIntention').prop('checked');
    $.ajax({
        url: '/contact/updateContactCurrentIntention',
        type: 'post',
        datatype: 'json',
        data: {
            contactId,
            currentIntention: Number(!status)    // 目前意向：0-有意向 1-无意向
        },
        success: function (data) {
            if (data.code == '000000') {
                $.alert({
                    title: '系统提醒',
                    content: status ? '已成功标记为意向客户！' : '已标记为非意向客户！'
                })
            } else {
                $('#followIntention').prop('checked', !status);
            }
        },
        error: function (res) {
            $.alert({
                title: '系统提醒',
                content: '修改客户意向出错，请稍后再试！',
                confirm: {
                    text: '确定',
                    btnClass: 'btn-primary',
                    action: function () {
                        $('#followIntention').prop('checked', !status);
                    }
                }
            });
        }
    })
}
// 跟进记录
function callFollow(contactId) {
    $.ajax({
        url: '/contact/selectFollowByContactId',
        type: 'post',
        datatype: 'json',
        data: {
            pageIndex: 1,
            pageSize: 6,
            sortName: '',
            sortOrder: 'desc',
            contactId,
            dateType: 'all'
        },
        success: function (data) {
            if (data.code == '000000') {
                var followDatas = data.data;
                var followDom = '';
                for (let i = 0; i < followDatas.length; i++) {
                    followDom += '<p><span data-toggle="tooltip" data-placement="top" data-original-title="' + (followDatas[i].followDetail || '暂无跟进详情') + '">' + followDatas[i].followTm + '</span></p>';
                }
                // console.log('跟进记录：' + followDom);
                $('#callFollow').html(followDom).find('span').tooltip({
                    "container": 'body',
                });
            }
        }
    })
}
// 企业信息
function callCompanyInfo(customerId) {
    $.ajax({
        url: '/customer/companyInfo',
        type: 'post',
        datatype: 'json',
        data: {
            customer_id: customerId
        },
        success: function (data) {
            if (data.code == '000000') {
                // console.log('企业信息：', data.data);
                $('#companyProfile').text(data.data.companyProfile);
            }
        }
    })
}
// 基本信息
function callBasicInfo(customerId) {
    $.ajax({
        url: '/customer/selectByCustomerId',
        type: 'post',
        datatype: 'json',
        data: {
            customerId
        },
        success: function (data) {
            if (data.code == '000000') {
                console.log('基本信息：', data.data);
                $('#callCompanyPerson').html(data.data.financialNumber || '-');         // 财务人数
                $('#callCompanyCapital').html(data.data.registeredCapital || '-');      // 注册资本
                $('#callCompanyInsure').html(data.data.insuredNumber || '-');           // 参保人数
                // $('#callCompanyDress').html(data.data.detailedAddress || '-');          // 公司地址
                $('#maxCompanyTags').tagsinput('add', data.data.tag || '');  // 标签
                var adress = data.data.detailedAddress || '';
                if (adress.length > 11) {
                    $('#callCompanyDress').html('<span data-toggle="tooltip" data-placement="top" data-original-title="' + adress + '">' + (adress.slice(0, 11) + '...') + '</span>');
                    $('#callCompanyDress span').tooltip({
                        "container": 'body',
                    });
                } else if (adress.length > 0) {
                    $('#callCompanyDress').html(adress);
                }
            }
        }
    })
}
// 修改客户标签
function callEditCustomerTags(customerId, tags) {
    var data = {
        customerId,
        tag: tags
    }
    $.ajax({
        url: '/customer/updateCustomerImgAndTag',
        type: 'post',
        datatype: 'json',
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(data),
        success: function (data) {
            if (data.code == '000000') {
                console.log('修改标签成功');
            }
        }
    })
}
// 其他联系人
function callOtherTable(customerId, contactId) {
    $('#callOtherTable').bootstrapTable('destroy');
    $('#callOtherTable').bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/selectOtherContactByCustomerId',// 请求地址
        method: 'post',                                         // 请求方式
        contentType: "application/x-www-form-urlencoded",       // 请求内容类型
        dataType: "json",                                       // 数据类型
        striped: true,                                          // 是否显示行间隔色
        sortable: true,                                         // 是否启用排序
        sortOrder: "desc",                                      // 排序方式
        sortName: 'contactName',                                // 排序字段
        cache: false,                                           // 是否使用缓存
        showColumns: false,                                     // 显示隐藏列
        showRefresh: false,                                     // 显示刷新按钮
        showToggle: false,                                      // 切换显示样式
        showFooter: false,                                      // 显示Table脚部
        // pagination: false,                                       // 是否显示分页
        showPaginationSwitch: false,                            // 是否显示分页按钮
        clickToSelect: true,                                    // 是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,                                 // 最少要显示的列数
        undefinedText: '',                                      // cell没有值时显示
        // sidePagination: "server",                               // 分页方式：client客户端分页，server服务端分页
        uniqueId: 'contactId',
        idField: 'contactId',
        height: 144,
        // pageSize: 100,                                         // 每页的记录行数
        // pageNumber: 1,                                          // 初始化加载第1页，默认第1页
        // pageList: "[5, 10, 15, 20]",                            // 可供选择的每页的行数
        queryParams: function (params) {
            // params.pageSize = params.limit;
            // params.pageIndex = (params.offset / params.limit) + 1;
            // params.sortName = params.sort;                      // 排序列名
            // params.sortOrder = params.order;                    // 排序方式

            params.customerId = customerId;                     // 客户ID
            params.contactId = contactId;                       // 联系人ID
            return params;
        },
        columns: [
            {title: '主键', field: 'contactId', visible: false},
            {title: '姓名', field: 'contactName', align: 'left', width: '110', valign: 'middle',
                formatter: function (value, row, index, field) {
                    if (value.length > 5) {
                        var shortName = value.slice(0, 5) + '...';
                        return '<span data-toggle="tooltip" data-placement="top" data-original-title="' + value + '" class="short-name">' + shortName + '</span>';
                    } else {
                        return value;
                    }
                }
            },
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords //总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
            if ($('.short-name')[0]) {
                $('.short-name').tooltip({
                    "container": 'body',
                });
            }
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}
// 产品
function callProductList(customerId) {
    $.ajax({
        url: '/customerController/selectProductByCustomerId',
        type: 'post',
        datatype: 'json',
        data: {
            customerId
        },
        success: function (data) {
            if (data.code == '000000') {
                console.log('产品列表：', data.data);
                var productList = '';
                for (let i = 0; i < data.data.length; i++) {
                    productList += '<p>' + data.data[i].productName + '</p>';
                }
                $('.call-product-list').html(productList);
            }
        }
    })
}


/**
 * 功能：清空缓存
 * */
function reload() {
    window.location.reload(true);
}

/**
 * 功能：展开收起跟进详情
 * */
var followFlag = true;
function followInfoModal() {
    if (followFlag) {
        $('.follow-info-form').fadeIn(0).animate({
            width: 356,
            marginRight: 12,
        }, 200);
        followFlag = false;
    } else {
        $('.follow-info-form').animate({
            width: 0,
            marginRight: 0,
        }, 200).fadeOut(0);
        $('.follow-info-form textarea').val('');
        followFlag = true;
    }
}

function followInfo(element) {
    var $this = $(element);
    console.log($this)
    var $followInput;
    if ($this[0].id == 'sureBtn2') {
        // 大屏跟进内容
        $followInput = $('#followInfoText2');
    } else {
        // 小窗口跟进内容
        $followInput = $('#followInfoText');
    }
    if ($followInput.val() == '') {
        $.alert('跟进详情不能为空，请填写！');
        return;
    }

    $('#sureBtn, #sureBtn2').prop('disabled', true);

    // 核实电话插入跟进详情
    if (followSource == 4) {
        var data = {
            verifyId: $('#followInfoSource').val(),
            followDetail: $('#followInfoText').val()
        }
        if (data.verifyId) {
            $.ajax({
                url: '/verifyPhone/updateVerifyPhoneInfo',
                type: 'POST',
                dataType: "json",
                contentType: "application/json;charset=utf-8",
                data: JSON.stringify(data),
                success: (function (data) {
                    if (data.code == "000000") {
                        console.log('核实电话写入跟进详情成功');
                        $('.follow-success').fadeIn(160, function () {
                            setTimeout(function () {
                                followInfoModal();
                                $this.prop('disabled', true);
                                $('.follow-success').fadeOut(300);
                            }, 300)
                        });
                    } else {
                        // $.alert('添加跟进详情失败，请重试！');
                        console.log('核实电话-提交跟进详情出错，错误代码：' + data.code);
                        $this.prop('disabled', false);
                    }
                }),
                error: (function () {
                    $.alert("网络异常，请稍后再试!");
                })
            });
        } else {
            $.alert({
                title: '提示',
                content: '未获取到核实记录ID！'
            });
        }
        return;
    }

    var data = {
        clueFollowId: $('#followInfoId').val(),     // 跟进id
        followDetail: $followInput.val(),           // 跟进详情
    };
    if (data.clueFollowId) {
        $.ajax({
            url: '/clueFollow/updateClueFollow',
            type: 'post',
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify(data),
            success: function (data) {
                if (data.code == '000000') {
                    followInfoModal();
                    $('#followInfoText2').val('');
                    $('.modal-body-max .follow-success').fadeOut(300);
                    $('#editFollowInfo .follow-success').fadeOut(300);
                } else {
                    console.log('提交跟进详情出错，错误代码：' + data.code);
                    $('#sureBtn, #sureBtn2').prop('disabled', false);
                }
            },
            error: function (res) {
                $.alert('数据请求失败，请重试！(' + res + ')');
                $('#sureBtn, #sureBtn2').prop('disabled', true);
            }
        });
    } else {
        $.alert({
            title: '提示',
            content: '未获取到跟进记录ID！'
        });
    }
}

/**
 * 功能：获取版本号
 * */
function getVersionInfo() {
    $.ajax({
        url: '/versionUpgrade/getVersionInfo',
        type: 'get',
        dataType: "json",
        success: function (data) {
            if (data.code == '000000') {
                $('#version').html('version ' + data.data.versionCode);
            } else {
                console.log('错误代码：' + data.code);
            }
        },
        error: function (res) {
            console.log('数据请求失败，请重试！', res);
        }
    })
}
/**
 * 判断是否是超管，超管隐藏消息提示
 */
function isSuperAdmin() {
    $.ajax({
        type: 'GET',
        dataType: "json",
        url: '/returnMoney/isSuperAdmin',
        cache: false,
        async: false,
        success: (function (data) {
            if (data.data) {
                $('#messagePrompt').hide();
            }else {
                //查询用户未读消息
                queryUnreadCount();
                //消息未读条数 eg:你有 10 条未读消息
                $('#unreadCount').text(unreadNum);
            }
        }),
        error: (function (res) {
        })
    });
}


/**
 * 查询未读数量
 */
function queryUnreadCount() {
    $.ajax({
        url: "/message/selectMessageList",
        type: "post",
        dataType: "json",
        data: {
            pageIndex: 1,
            pageSize: 10,
            newsType: 1,
            sentMessage: 2
        },
        success: function (data) {
            if (data.code = '000000') {
                unreadNum = data.totalRecords;
                $('#unreadCount').text(unreadNum);
                if (unreadNum > 0) {
                    $('#unreadCount').fadeIn().prev('.notice-icon').addClass('notice-animate');
                } else {
                    $('#unreadCount').fadeOut().prev('.notice-icon').removeClass('notice-animate');

                }
            } else {
                $.alert(data.data);
            }
        },
        error: function () {
        }
    })
}


//防止表头与表格不对齐
$(window).resize(function () {
    $checkDuplicateTable.bootstrapTable('resetView');
    $messageTipTable.bootstrapTable('resetView');
});


var followSource;           // 跟进来源：0-线索跟进；1-客户跟进；2-单品客户跟进;
var allContactInfo = [];    // 全部联系人相关数据
var choseInfo = {};         // 选中联系方式的联系人相关数据集合(未选中手输号码时则为匹配到的联系人数据集合)
var choseNumber;            // 选择的联系人手机号码
var customerType;           // 客户类型 0-企业客户 1-个人客户

function callModal(customerId, contactPersonData, source, id, customerTypeParam) {
    if (contactPersonData == undefined) {
        return;
    }
    // 跟进来源：0-线索跟进；1-客户跟进；2-单品客户跟进; 3-联系人跟进; 4-核实电话
    followSource = source;
    console.log('跟进来源(0-线索跟进；1-客户跟进；2-单品客户跟进; 3-联系人跟进; 4-核实电话; 5-商机; 6-一机多用; 7-内训; 8-外训;)：' + followSource);
    customerType = customerTypeParam;
    // 个人客户、线索跟进、单品客户跟进、核实电话、一机多用  禁用大屏模式
    if (customerType == 1 || followSource == 2 || followSource == 4 || followSource == 0 || followSource == 6) {
        $('#callFullBtn').hide();
    } else {
        $('#callFullBtn').show();
    }

    // 非核实电话，禁止手动输入手机号码
    if (followSource != 4) {
        $('#txtTelNO').prop('readonly', true);
        $('#numberBtn').hide();
        $('#otherBtn').show()
        $('#otherBtn input').on('click', function (e) {
            var telNumber = $('#txtTelNO').val();
            var type = $(this).prop('checked');
            // console.log(type);
            if (telNumber != '') {
                if (type) {
                    // 加0
                    telNumber = 0 + telNumber;
                } else {
                    // 减0
                    telNumber = telNumber.substr(1);
                }
                $('#txtTelNO').val(telNumber);
            }
        });
    }

    for (var i = 0; i < contactPersonData.length; i++) {
        if (!contactPersonData[i].contactDetails) {
            contactPersonData[i].contactDetails = [contactPersonData[i].contactInformation];
        }
        var arr = {};
        arr.choseInfo = contactPersonData[i].contactDetails;
        arr.contactName = contactPersonData[i].contactName;
        arr.contactId = contactPersonData[i].contactId;
        allContactInfo.push(arr);
    }
    // 点击联系方式获取相关联系人信息
    $('#callCenter').on('click', 'input[name="phoneNumber"]', function () {
        choseNumber = $(this).val();
        for (var i = 0; i < contactPersonData.length; i++) {
            for (let j = 0; j < contactPersonData[i].contactDetails.length; j++) {
                if (choseNumber == contactPersonData[i].contactDetails[j]) {
                    choseInfo.choseInfo = choseNumber;
                    choseInfo.contactName = contactPersonData[i].contactName;
                    choseInfo.contactId = contactPersonData[i].contactId;
                    break;
                }
            }
        }
        console.log('手动选择联系方式的联系人相关数据：', choseInfo);
        $('#callContactId').val(choseInfo.contactId);
        // 清除绑定事件
        // $('#callCenter').off('click', 'input[name="phoneNumber"]');
    });
    // 添加客户ID
    $('#callCustomerId').val(customerId);
    // 添加单品客户ID
    $('#callId').val(id);
    // 添加联系人
    var telHtml = '';
    var checkedStatus = ''
    console.log(contactPersonData)
    if (contactPersonData.length == 1 && contactPersonData[0].contactDetails.length == 1) {
        // 如果客户联系人为一个且联系人号码只有一个，默认选中并添加号码到号码输入框中
        checkedStatus = 'checked';
        // $('#txtTelNO').val(contactPersonData[0].contactDetails[0]);
        var telNumArr = contactPersonData[0].contactDetails[0].split('-');
        var telNum;
        if (telNumArr[0].length < 5 && telNumArr.length > 1) {
            telNum = telNumArr[0] + telNumArr[1];
        } else {
            telNum = telNumArr[0];
        }
        $('#txtTelNO').val(telNum);
        $('#callContactId').val(contactPersonData[0].contactId);
    } else {
        // 如果客户有多个联系人，清空输入框中的电话号码
        $('#txtTelNO').val('');
    }
    console.log(contactPersonData);
    for (var i = 0; i < contactPersonData.length; i++) {
        // 判断contactDetails数组是否有联系人，否的话contactInformation添加到contactDetails数组
        /*if (contactPersonData[i].contactInformation != '' || contactPersonData[i].contactInformation != null && contactPersonData[i].contactDetails.length == 0) {
            contactPersonData[i].contactDetails.push(contactPersonData[i].contactInformation);
        }*/
        for (let j = 0; j < contactPersonData[i].contactDetails.length; j++) {
            telHtml += '<label class="lyear-radio radio-inline radio-primary">';
            telHtml += '<input type="radio" name="phoneNumber" value="' + contactPersonData[i].contactDetails[j] + '" ' + checkedStatus +' ><span>' + contactPersonData[i].contactDetails[j] + '</span></label>';
        }
    }
    $('#telBox').slideDown(160).find('.tel-list').html(telHtml);

    // 弹窗弹出
    $('#callCenter').modal('show').on('hidden.bs.modal', function () {
        // 关闭弹窗时清除相关客户信息
        /*$('#telBox').slideUp(0).find('.tel-list').html('');
        $('#callCustomerId').val('');
        $('#txtTelNO').val('');*/

        // 电话弹窗关闭清空参数数据
        choseInfo = {};
        choseNumber = undefined;
        allContactInfo.length = 0;

        $('#callContactId').val('');
        // 清除绑定事件
        $('#callCenter').off('click', 'input[name="phoneNumber"]');
    });
}

/**
 * 密码显示/隐藏
 * @param id
 * @param name
 */
function pwdEye(id, name) {
    var $div = $("#" + id);
    var flag = $($div).attr('data-flag');
    $($div).css('background-image', 'url("/images/login/password-' + flag + '.png")');
    $($div).attr('data-flag', flag == 'show' ? 'hide' : 'show');
    $('input[name="' + name + '"]').attr('type', flag == 'show' ? 'text' : 'password');
}

function showResetPasswordModal() {
    $("#oldPassword").val('');
    $("#password").val('');
    $("#rePassword").val('');
    $("#oldPasswordMsg").hide();
    $("#passwordMsg").hide();
    $("#rePasswordMsg").hide();
    $("#editModel").modal('show');
}

/**
 * 修改密码 -- 确认密码校验
 */
function resetPasswordValidate() {
    var oldPassword = $("#oldPassword").val();
    var password = $("#password").val();
    var rePassword = $("#rePassword").val();
    if (oldPassword != password) {
        $("#passwordMsg").hide();
    } else {
        $("#passwordMsg").show().html("原密码和新密码相同！");
    }
    <!-- 对比两次输入的密码 -->
    if (password == rePassword) {
        $("#rePasswordMsg").hide();
    } else {
        $("#rePasswordMsg").show().html("两次输入密码不一致！");
    }
}

/**
 * 修改密码
 */
function resetPassword() {
    var oldPassword = $.trim($("input[name=oldPassword]").val());
    var userPassword = $.trim($("input[name=password]").val());
    var rePassword = $.trim($("input[name=rePassword]").val());
    // var passwordReg=/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+={}:";'<>,.]).{8,16}/;
    // 必须包含一个字母及一个数字，其他位随意
    var passwordReg=/^(?=.*[a-z])(?=.*\d)[\s\S]{8,16}$/;

    if(!passwordReg.test(userPassword)){
        $.alert("密码需要包含字母、数字,长度控制在8-16");
        return ;
    }
    if (!oldPassword) {
        $.alert("请输入原密码！");
        return;
    }
    if (!userPassword) {
        $.alert("请输入新密码！");
        return;
    } else if (userPassword.length > 50) {
        $.alert("密码长度不能大于50个字符！");
        return;
    }
    if (oldPassword == userPassword) {
        $.alert("原密码和新密码相同！");
        return;
    }
    if (!rePassword) {
        $.alert("请输入确认密码！");
        return;
    }
    if (userPassword != rePassword) {
        $.alert("两次输入密码不一致！");
        return;
    }
    $.ajax({
        url: "/account/resetPassword",
        type: "post",
        data: {
            userPassword: userPassword,
            oldPassword: oldPassword
        },
        success: function (data) {
            console.log(data)
            if (data.code == '000000') {
                $.alert('保存成功！');
                $("#oldPasswordMsg").hide();
                $("#editModel").modal('hide');
            } else if (data.code == 'PSW001') {
                $.alert("原密码输入错误！");
            } else if (data.code == 'PSW002') {
                $.alert("密码太过简单，未通过验证！");
            } else {
                $.alert("保存失败！");
            }
        }
    });
}

function oldPasswordValidate() {
    resetPasswordValidate();
    var oldPassword = $.trim($("input[name=oldPassword]").val());
    $.ajax({
        url: "/account/oldPasswordValidate",
        type: "post",
        data: {
            oldPassword: oldPassword
        },
        success: function (data) {
            if (data.code == '000000') {
                $("#oldPasswordMsg").hide();
            } else {
                $("#oldPasswordMsg").show().html("原密码错误！");
            }
        }
    });
}

function checkDuplicateBtn() {
    if ($('#checkContent').val() == '') {
        $('#prompt').css('display', 'block')
    } else {
        $('#prompt').css('display', 'none')
        checkDuplicateInit()
    }
}

function changeContent() {
    if ($('#checkContent').val() == '') {
        $('#prompt').css('display', 'block')
    } else {
        $('#prompt').css('display', 'none')
    }
}

function opencheckDuplicate() {
    $('#checkContent').val('')
    $('#prompt').css('display', 'none')
    $checkDuplicateTable.bootstrapTable('destroy');
    $('#staticBackdrop').modal('show')
}

//查重表单
function checkDuplicateInit() {

    $checkDuplicateTable.bootstrapTable('destroy');
    $checkDuplicateTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/fastQueryRepeat',//请求地址
        method: 'get',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: false,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        // sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'formId',
        idField: 'formId',
        // pageSize: 10,//每页的记录行数
        // pageNumber: 1,//初始化加载第1页，默认第1页
        // pageList: "[5, 10, 15, 20]",//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedNumber: 4,         // 左侧固定列
        queryParams: {
            type: $('#poolType').val(),
            isVip: $('#poolType1').val(),
            checkContent: $('#checkContent').val(),
        },//查询参数
        columns: [
            {title: '主键', field: 'formId', visible: false},
            {title: '联系人id', field: 'contactPersonId', visible: false},
            {title: '客户名称', field: 'name', align: 'left', valign: 'middle',},
            {title: '会员', field: 'isVip', align: 'left', valign: 'middle'},
            {title: '所在位置', field: 'place', align: 'left', valign: 'middle'},
            {title: '公海', field: 'poolName', align: 'left', valign: 'middle'},
            {title: '所有人', field: 'userName', align: 'left', valign: 'middle'},
            {title: '状态', field: 'state', align: 'left', valign: 'middle'},
            {title: '曾用名/关联', field: 'relationName', align: 'left', valign: 'middle'},
        ],
        // data:[{index:'1'}],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,

                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方

            /*$.ajax({
                url:'/customerController/isAdmin',
                type: 'post',
                dataType: "json",
                contentType: "application/x-www-form-urlencoded",
                success:(function(result){
                    if (result.code == '000000') {
                        $checkDuplicateTable.bootstrapTable('showColumn', 'userName');
                    }
                }),
                error: (function (res) {
                })
            });*/

        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    })


}


/**
 * 消息提示
 */
function messageTipTableInit() {
    var url = '/front/messageManager/messageFormUser';
    // 修改左侧消息菜单链接
    $('.multitabs[href="' + url + '"]').prop('href', url + '?type=messageTip');

    var messageIframe = $('iframe[src="' + url + '"]');
    var messageIframeType = $('iframe[src="' + url + '?type=messageTip"]');
    if (messageIframe[0] || messageIframeType[0]) {
        console.log('消息列表页已打开');
        // 消息列表页已打开
        messageIframe.prop('src', url + '?type=messageTip');
    } else {
        console.log('消息列表页未打开');
        // 消息列表页未打开
        parent.$(parent.document).data('multitabs').create({
            iframe: true,
            title: '消息列表',
            url: url + '?type=messageTip'
        }, true);
    }
}


/**
 * 消息提示--自定义操作列事件
 */
window.operateEvents = {
    //更新消息为已读状态
    'mouseover .info': function (e, value, row, index) {
        if ('已读' == row.messageState){
            return;
        }
        //更新为已读状态
        $.ajax({
            url:'/messagePrompt/updateMessageState',
            type: 'post',
            dataType: "json",
            contentType: "application/x-www-form-urlencoded",
            data: {messageId : row.messageId},
            success:(function(result){
                if(result.code == '000000'){
                }
            }),
            error: (function (res) {
            })
        });
    },
    'click .js-create-tab': function(e, value, row, index) {
        $('#messageTipModal').modal('hide');
    }
};



/**
 * 拼接查询条件参数
 */
function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    return params;
}


/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}


/**
 * 消息内容提示
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
$(document).on('click', '.js-create-tab', function() {
    $(document).data('multitabs').create({
        iframe : true,
        title : $(this).data('title') ? $(this).data('title') : '标题',
        url : $(this).data('url') ? $(this).data('url') : 'lyear-main.html'
    }, true);
});
function messageContentFormat(value, row, index) {

    if(value.indexOf("工单编号") != -1) {
        var workOrderNumber = value.substring(value.indexOf("：")+1,value.indexOf("有人回复"));
        var workOrderId = value.substring(value.indexOf("---")+3,value.indexOf("+++"));
        var userName = value.substring(value.indexOf("+++")+3,value.length);
        var valueHrml = '您的工单编号为：<a class="js-create-tab info" data-title="工单详情" data-url="/front/workOrderManager/workOrderDetail?workOrderId=' + workOrderId + '&userName=' + userName + '">' + workOrderNumber + '</a>有人回复';
        return valueHrml;

    } else {
        return '<span class="info">' + value + '</span>';
    }


    /*var valTip;
    var tooltipstring;
    if(value.length>40) {
        valTip = value.substring(0, 40)+"..."
    } else {
        valTip = value
    }
    if (0 == index){
        tooltipstring = '<span style="color: #4d5259" href="#" data-html="false" data-toggle="tooltip" data-placement="left" title=' + value + '(' + row.messageState + ')' + '>' + valTip + '</span>';
    }else {
        tooltipstring = '<span style="color: #4d5259" href="#" data-html="false" data-toggle="tooltip" data-placement="top" title=' + value + '(' + row.messageState + ')' + '>' + valTip + '</span>';
    }
    return [
        '<div id="updateReadState">',
        tooltipstring,
        '</div>',
    ].join('');*/
}




